1. Field of the Invention
The present invention relates generally to the field of digital transmission systems. More specifically, it relates to the design of interleavers to be used in conjunction with error correcting codes in communication systems.
2. Description of the Related Art
Signal transmission in digital communication systems invariably occurs through noisy channels where errors are introduced. Normally, the information bits are coded (i.e., redundant bits are added with the specific code law) before transmission in order to detect and correct errors at the receiver. An interleaver device is widely adopted in coding schemes in case of burst error channels in order to randomize (ie., to spread) the location of errors thereby improving their performance. Basically, interleavers are devices taking a set of symbols and producing at their output the same set of symbols in a different order. For that reason interleavers are also introduced when the need exists of decorrelating the burst errors out of a Viterbi decoder in a concatenated codes scheme (e.g., Convolutional Codes concatenated with Reed-Solomon Codes). Interleavers find another important application as a fundamental constituent part of Turbo Codes (see, for instance, C. Berrou, A. Glavieux, P. Thitimajshima, “Near Shannon limit error-correcting coding and decoding: Turbo-codes (1)”, in Proceedings 1993 Int. Conf. on Communications, (Geneva Switzerland, May 1993), pp. 1064–1070), which consist of the concatenation of two constituent convolutional codes through an interleaver. This application is of particular significance for an embodiment of the invention.
Interleavers are usually classed as block interleavers or convolutional interleavers depending on their input-output symbol flow (block wise or continuous). Several randomization or spreading laws have been developed; a concise review of most of these approaches is provided in Heegard C. and Wicker S. B., “Turbo Coding”, Kluwer Academic Publisher, Boston, 1999 (Chapter 3). Since the appearance of Turbo Codes in coding theory it has been recognized that interleaver strategy plays a critical role in determining code performance. This is true for both Turbo Code classes, i.e., Parallel Concatenated Convolutional Code (PCCC) originally proposed in the above-referenced article by Berrou et al. and U.S. Pat. No. 5,446,747 as well as for Serially Concatenated Convolutional Code (SCCC) (see, for instance, S. Benedetto, D. Divsalar, G. Montorsi and F. Pollara, “Serial concatenation of interleaved codes: performance analysis, design and iterative decoding”, IEEE Transactions on Information Theory, pp. 909–926, May 1998). In any case such interleavers must be block interleavers, as the data stream must be divided into blocks of finite size before performing the decoding operations. Their role is fundamental, in association with recursive constituent convolutional encoders, to optimize the properties of the overall code in terms of free distance and related codeword multiplicities.
According to literature, bare random interleavers on the one hand guarantee a low multiplicity for the minimum distance terms but neglect the optimization of the minimum distance itself, thus yielding asymptotically a low, though flat, error-floor (see, for instance, Dolinar S. and Divsalar D., “Weight distributions for turbo codes using random and nonrandom permutations,” JPL TDA Progress Report 42–122, August 1995).
On the other hand, bare structured (deterministic) interleavers allow control of the minimum distance of the code but not of the multiplicity of the related codewords, thus providing an error floor region occurring for BER values higher with respect to the former case, but slightly decreasing vs. SNR.
Lately, pseudo-random interleavers such as S-random interleavers (see, for instance, D. Divsalar and F. Pollara, “Multiple Turbo Codes for deep-space applications”, JPL TDA Progr. Rep., vol. 42–121, May 1995 and U.S. Pat. No. 6,023,783) or dithered-Golden interleavers (see, for instance, S. Crozier, J. Lodge, P. Guinand, A. Hunt, “Performance of Turbo Codes with relative prime and golden interleaving strategies”, IMSC '99, Ottawa, Canada, June 1999), combining randomness properties and design criteria, have shown the best performance.
Some authors have also proposed techniques for interleaver design based on cost functions related to the component codes. Exemplary of such an approach are the works F. Daneshgaran and M. Mondin, “Design of interleavers for turbo codes based on a cost function”, International Symposium on Turbo Codes & Related Topics—Brest 1997 and J. Hokfelt, O. Edfors, T. Maseng, “Interleaver design for Turbo Codes based on the performance of iterative decoding”, in Proc. IEEE Int. Conf. on Communications, Vancouver, BC, June 1999. The drawback is that these solutions lead to very specific permutations, whose performance is quite sensitive to component codes and also to puncturing.
Unfortunately, these interleavers are designed for specific sizes, and several different interleaving laws need in principle to be stored for those applications that require size flexibility. A typical case is represented by flexible rate SCCCs (see, for instance, S. Benedetto and G. Montorsi, “Versatile Bandwidth-efficient Parallel and Serial Turbo-trellis-coded Modulation”, 2nd International Symposium on Turbo Codes & Related Topics—Brest 2000), where a versatile pruning algorithm applied to the inner code makes it necessary to permute blocks of different sizes. Another important case is the PCCC standardized for UMTS, where turbo interleaver design requires many different block sizes to be supported according to variable input data requirements (see, for instance, Eroz, M.; Hammons, A. R., Jr., “On the design of prunable interleavers for turbo codes” 1999 IEEE 49th Vehicular Technology Conference, Vol. 2, Page(s): 1669–1673).
One way to overcome the need of storing several interleavers is to obtain shorter block interleavers by “pruning” a “mother” interleaver with higher block size; basically, while permuting the symbols, the oversized positions are dropped (i.e., unused) as disclosed e.g., in the captioned work by S. Benedetto and G. Montorsi. This kind of operation may often destroy the interleaver properties, and hence a dramatic degradation of the performances can be expected. Conversely, for UMTS standard a new class of deterministic prunable interleavers has been proposed with the specific property of being robust under pruning as shown, e.g., in the article by Eroz et al. already referred to in the foregoing. Due to their recursive design algorithm, also interleavers as proposed in the article by F. Daneshgaran et al. referred to in the foregoing seem to maintain their properties when pruned, although this is not explicitly mentioned.